package br.com.velp.sudecap.service;

import br.com.velp.sudecap.dto.DecretoParametrosConsultaDTO;
import br.com.velp.sudecap.entidade.Decreto;
import br.com.velp.sudecap.enumerator.StatusDecretoEnum;
import java.util.List;
import org.hibernate.criterion.Order;

/**
 * <sumario>
 * <objetivo> "Rastreabilidade" </objetivo>
 * <autor> EDUARDO SANTOS DE OLIVEIRA </autor>
 * <versao>1.0.0.0</versao>
 * <data_criacao> 17.10.2012 </data_criacao>
 * <data_ultima_alteracao> N/A </data_ultima_alteracao>
 * <requisitos_afetados> RF006.01 - Listar Decretos / RF006.02 - Cadastrar Decretos </requisitos_afetados>
 * <descricao> Interface Responsável Pelas Operações de 
 *             CRUD Referentes ao Contexto de Decretos </descricao>
 * </sumario>
 */
public interface DecretoService extends GenericService<Decreto> {
    
    public int contarDecretos(DecretoParametrosConsultaDTO parametros);
    
    public List<Decreto> buscarDecretosPaginados(int firstResult, int maxResults, 
	    DecretoParametrosConsultaDTO parametros, Order order);
    
    public List<Decreto> recuperarDecretos(Long idDecretoFiltro, String numero);
    
    public Decreto recuperarDecreto(Long id);
    
    public StatusDecretoEnum recuperarStatusDecreto(Decreto decreto);
    
}
